home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
VIG-PR10.ZIP
/
PROMPTS.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-04-20
|
11KB
|
742 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
;------------------------------------------------------------------------------
STRING005 = Chr(8) + " " + Chr(8)
If (TokCount() <> 1) Then
Color 140
Newlines 2
PrintLn "Read the docs."
End
Else
INTEGER001 = GetToken()
Endif
If ((INTEGER001 == 259) || (ScrText(80, 1, 1, 0) == " ")) Then
INTEGER002 = 4
INTEGER004 = 80
Else
Select Case (ScrText(1, 1, 20, 0))
Case Left(StripAtx(ReadLine(PPEPath() + "prompts.cnf", 65)), 20)
INTEGER002 = 1
Case Left(StripAtx(ReadLine(PPEPath() + "prompts.cnf", 61)), 20)
INTEGER002 = 2
Case Left(StripAtx(ReadLine(PPEPath() + "prompts.cnf", 67)), 20)
INTEGER002 = 3
End Select
INTEGER004 = 2
Endif
STRING007 = ReadLine(PPEPath() + "prompts.cnf", INTEGER004)
INTEGER006 = ReadLine(PPEPath() + "prompts.cnf", INTEGER004 + 1)
INTEGER007 = ReadLine(PPEPath() + "prompts.cnf", INTEGER004 + 2)
Tokenize STRING007
STRING007 = GetToken()
STRING008 = GetToken()
If (!AnsiOn()) INTEGER002 = 0
StartDisp 1
Select Case (INTEGER001)
Case 152
INTEGER001 = 7
Gosub LABEL009
Select Case (INTEGER002)
Case 0
DispStr STRING003
Case 1
AnsiPos 1, 2
DispFile PPEPath() + "sysop.pcb", 0
AnsiPos STRING007, STRING008
Print STRING002
Print Space(INTEGER007 - GetX())
AnsiPos STRING009, STRING010
Print Space(16)
Backup 16
Case 2
AnsiPos 2, 1
DispFile PPEPath() + "apply.pcb", 0
Gosub LABEL016
Case 3
For INTEGER001 = GetY() To 1 Step -1
If (ScrText(1, INTEGER001, 3, 0) == "D: ") Then
STRING011 = RTrim(Mixed(ScrText(4, INTEGER001 - 1, 25, 0)), " ")
INTEGER001 = 0
Endif
Next
Cls
PrintLn ReadLine(PPEPath() + "prompts.cnf", 65)
Print ReadLine(PPEPath() + "prompts.cnf", 79) + STRING011
AnsiPos 2, 1
DispFile PPEPath() + "sysop.pcb", 0
AnsiPos STRING007, STRING008
Print STRING002
Print Space(INTEGER007 - GetX())
AnsiPos STRING009, STRING010
End Select
Case 111
INTEGER001 = 10
Gosub LABEL009
Gosub LABEL016
Case 265
INTEGER001 = 13
Gosub LABEL009
INTEGER001 = 24
Gosub LABEL012
Case 113
INTEGER001 = 16
Gosub LABEL009
INTEGER001 = -1
Gosub LABEL013
Case 114
INTEGER001 = 19
Gosub LABEL009
INTEGER001 = -1
Gosub LABEL013
Case 2
INTEGER001 = 22
Gosub LABEL009
INTEGER001 = -2
Gosub LABEL013
Case 556
INTEGER001 = 77
Gosub LABEL011
If (INTEGER002 == 2) Then
KbdStuff "y"
Else
Print STRING002
Endif
Case 698
INTEGER001 = 76
Gosub LABEL011
If (INTEGER002 == 0) Then
Print STRING002
Endif
Case 699
INTEGER001 = 25
Gosub LABEL009
INTEGER001 = 50
Gosub LABEL012
Case 700
INTEGER001 = 28
Gosub LABEL009
INTEGER001 = 50
Gosub LABEL012
Case 701
INTEGER001 = 31
Gosub LABEL009
INTEGER001 = 25
Gosub LABEL012
Case 702
INTEGER001 = 34
Gosub LABEL009
INTEGER001 = 10
Gosub LABEL012
Case 703
INTEGER001 = 37
Gosub LABEL009
INTEGER001 = 10
Gosub LABEL012
Case 704
INTEGER001 = 40
Gosub LABEL009
INTEGER001 = 15
Gosub LABEL012
Case 706
INTEGER001 = 43
Gosub LABEL009
INTEGER001 = 25
Gosub LABEL012
Case 269
INTEGER001 = 46
Gosub LABEL009
Gosub LABEL012
Case 112
INTEGER001 = 49
Gosub LABEL009
Gosub LABEL012
Case 267
INTEGER001 = 52
Gosub LABEL009
Gosub LABEL012
Case 266
INTEGER001 = 55
Gosub LABEL009
Gosub LABEL012
Case 325
INTEGER001 = 58
Gosub LABEL009
Gosub LABEL012
If (INTEGER002 <> 0) Then
STRING004 = NoChar()
InputStr "", STRING004, 9, 1, YesChar() + NoChar(), 2 + 8
If (STRING004 == "") STRING004 = Chr(13)
KbdStuff STRING004
Newlines 4
Endif
Case 208
Cls
INTEGER001 = 61
Gosub LABEL011
Print STRING002
Case 53
INTEGER001 = 62
Gosub LABEL011
Print STRING002
Case 264
INTEGER001 = 63
Gosub LABEL011
Gosub LABEL014
Case 123
INTEGER001 = 64
Gosub LABEL011
Gosub LABEL014
If (INTEGER002 <> 0) Then
AnsiPos 1, 23
Wait
Endif
Log StripAtx(STRING002), 0
Case 58
Cls
INTEGER001 = 65
Gosub LABEL011
Print STRING002
Case 204
INTEGER001 = 66
Gosub LABEL011
Gosub LABEL014
If (INTEGER002 <> 0) Then
AnsiPos 1, 23
Wait
Endif
Log StripAtx(STRING002), 0
Case 167, 168
INTEGER001 = 67
Gosub LABEL011
Print STRING002
Case 110
INTEGER001 = 68
Gosub LABEL011
Gosub LABEL014
Case 117
INTEGER001 = 69
Gosub LABEL011
Gosub LABEL014
Case 8
If (INTEGER002 == 4) Then
INTEGER001 = 108
Gosub LABEL010
Gosub LABEL015
Log StripAtx(STRING002), 0
Else
INTEGER001 = 70
Gosub LABEL011
Gosub LABEL014
Log StripAtx(STRING002), 0
Endif
Case 708
INTEGER001 = 71
Gosub LABEL011
Gosub LABEL014
Case 709
INTEGER001 = 72
Gosub LABEL011
Gosub LABEL014
Case 705
INTEGER001 = 73
Gosub LABEL011
Gosub LABEL014
Case 54
KbdStuff Chr(13)
Case 259
INTEGER001 = 83
Gosub LABEL009
If (INTEGER002 == 0) Then
DispStr STRING003
Else
If (ScrText(80, 1, 1, 0) <> " ") Then
DispFile PPEPath() + "logon.pcb", 0
AnsiPos 80, 1
Print " "
Endif
AnsiPos STRING007, STRING008
Print STRING002
Print Space(INTEGER007 - GetX())
AnsiPos STRING009, STRING010
Print Space(25)
AnsiPos STRING009, STRING010
Endif
Case 260
INTEGER001 = 86
Gosub LABEL009
If (INTEGER002 == 0) Then
DispStr STRING003
Endif
KbdStuff Chr(13)
Case 148
INTEGER001 = 86
Gosub LABEL009
If (INTEGER002 == 4) Then
AnsiPos STRING009, STRING010
GetUser
Print Left(STRING002, 4) + Mixed(U_City)
Endif
INTEGER001 = 89
Gosub LABEL009
If (INTEGER002 == 4) INTEGER002 = 2
Gosub LABEL016
Case 92
INTEGER001 = 92
Gosub LABEL010
Gosub LABEL015
Case 595
INTEGER001 = 94
Gosub LABEL010
Gosub LABEL015
Case 596
INTEGER001 = 96
Gosub LABEL010
Gosub LABEL015
Case 3
INTEGER001 = 98
Gosub LABEL010
Gosub LABEL015
Log StripAtx(STRING002), 0
Case 5
INTEGER001 = 100
Gosub LABEL010
Gosub LABEL015
Log StripAtx(STRING002), 0
Case 6
INTEGER001 = 102
Gosub LABEL010
Gosub LABEL015
Log StripAtx(STRING002), 0
Case 7
INTEGER001 = 104
Gosub LABEL010
Gosub LABEL015
Log StripAtx(STRING002), 0
Case 10
INTEGER001 = 106
Gosub LABEL010
Gosub LABEL015
Log StripAtx(STRING002), 0
Case 9
INTEGER001 = 110
Gosub LABEL010
Gosub LABEL015
Log StripAtx(STRING002), 0
Case 76
INTEGER001 = 112
Gosub LABEL010
Gosub LABEL015
Case 4
INTEGER001 = 114
Gosub LABEL010
Gosub LABEL015
Newlines 6
Log StripAtx(STRING002), 0
Case 710
INTEGER001 = 116
Gosub LABEL010
If (INTEGER002 == 0) Then
DispStr STRING003
Else
Cls
Print STRING002
Endif
Case 711
INTEGER001 = 118
Gosub LABEL010
Gosub LABEL015
Case 657
INTEGER001 = 120
Gosub LABEL010
Gosub LABEL015
End Select
StartDisp 2
End
:LABEL001
STRING001 = Left(ReadLine(PPEPath() + "prompts.cnf", 5), 3)
Color 7
:LABEL002
If (BOOLEAN002) Goto LABEL004
STRING006 = Inkey()
If ((STRING006 == "+") && (INTEGER003 == 0)) Then
BOOLEAN001 = 1
Print STRING006
STRING004 = STRING004 + STRING006
Inc INTEGER003
ElseIf ((STRING006 == Chr(8)) && (INTEGER003 > 0)) Then
If (BOOLEAN001) Then
Print STRING005
Dec INTEGER003
STRING004 = Left(STRING004, INTEGER003)
If (INTEGER003 == 0) BOOLEAN001 = 0
Else
If (((INTEGER003 == 2) || (INTEGER003 == 5)) || (INTEGER003 == 9)) Then
Print STRING005 + STRING005
INTEGER003 = INTEGER003 - 2
Else
Print STRING005
Dec INTEGER003
Endif
STRING004 = Left(STRING004, INTEGER003)
Endif
Else
If (BOOLEAN001) Then
If (STRING006 == Chr(13)) Then
BOOLEAN002 = 1
ElseIf (((INTEGER003 < 13) && (Len(STRING006) == 1)) && (InStr(Mask_Num() + "-", STRING006) > 0)) Then
Print STRING006
STRING004 = STRING004 + STRING006
Inc INTEGER003
Endif
Else
If (STRING006 == Chr(13)) Then
If (INTEGER003 == 13) Then
BOOLEAN002 = 1
Else
INTEGER004 = GetX()
INTEGER005 = GetY()
AnsiPos STRING007, STRING008
Print ReadLine(PPEPath() + "prompts.cnf", 74)
INTEGER001 = INTEGER007 - GetX()
Print Space(INTEGER001)
Backup INTEGER001
Delay INTEGER006
AnsiPos STRING007, STRING008
Print STRING002
Color 7
Print Space(INTEGER007 - GetX())
AnsiPos INTEGER004, INTEGER005
Endif
ElseIf (((INTEGER003 < 13) && (Len(STRING006) == 1)) && (InStr(Mask_Num(), STRING006) > 0)) Then
If (INTEGER003 == 0) Then
Print Left(STRING001, 1) + STRING006
STRING004 = STRING004 + Left(STRING001, 1) + STRING006
Inc INTEGER003
Goto LABEL003
Endif
If (INTEGER003 == 3) Then
Print STRING006 + Mid(STRING001, 2, 1)
STRING004 = STRING004 + STRING006 + Mid(STRING001, 2, 1)
Inc INTEGER003
Goto LABEL003
Endif
If (INTEGER003 == 7) Then
Print STRING006 + Right(STRING001, 1)
STRING004 = STRING004 + STRING006 + Right(STRING001, 1)
Inc INTEGER003
Goto LABEL003
Endif
Print STRING006
STRING004 = STRING004 + STRING006
:LABEL003
Inc INTEGER003
Endif
Endif
Endif
Goto LABEL002
:LABEL004
KbdStuff STRING004
Return
:LABEL005
STRING001 = Left(ReadLine(PPEPath() + "prompts.cnf", 6), 1)
Color 7
:LABEL006
If (BOOLEAN002) Goto LABEL008
STRING006 = Inkey()
If ((STRING006 == Chr(8)) && (INTEGER003 > 0)) Then
If ((((INTEGER003 == 1) || (INTEGER003 == 4)) || (INTEGER003 == 7)) || (INTEGER003 == 8)) Then
Print STRING005
Dec INTEGER003
Else
Print STRING005 + STRING005
INTEGER003 = INTEGER003 - 2
Endif
STRING004 = Left(STRING004, INTEGER003)
ElseIf ((InStr(Mask_Num(), STRING006) > 0) && (INTEGER003 < 8)) Then
If ((INTEGER003 == 1) || (INTEGER003 == 4)) Then
Print STRING006 + STRING001
STRING004 = STRING004 + STRING006 + STRING001
INTEGER003 = INTEGER003 + 2
Else
Print STRING006
STRING004 = STRING004 + STRING006
Inc INTEGER003
Endif
ElseIf (STRING006 == Chr(13)) Then
If (INTEGER003 == 8) Then
BOOLEAN002 = 1
Goto LABEL007
Endif
INTEGER004 = GetX()
INTEGER005 = GetY()
AnsiPos STRING007, STRING008
Print ReadLine(PPEPath() + "prompts.cnf", 75)
INTEGER001 = INTEGER007 - GetX()
Print Space(INTEGER001)
Backup INTEGER001
Delay INTEGER006
AnsiPos STRING007, STRING008
Print STRING002
Color 7
Print Space(INTEGER007 - GetX())
AnsiPos INTEGER004, INTEGER005
Endif
:LABEL007
Goto LABEL006
:LABEL008
INTEGER004 = Right(Date(), 2)
INTEGER005 = Right(STRING004, 2)
INTEGER003 = INTEGER004 - INTEGER005
INTEGER004 = Left(Date(), 2)
INTEGER005 = Left(STRING004, 2)
If (INTEGER004 < INTEGER005) Then
Dec INTEGER003
ElseIf (INTEGER004 == INTEGER005) Then
INTEGER004 = Mid(Date(), 4, 2)
INTEGER005 = Mid(STRING004, 4, 2)
If (INTEGER004 < INTEGER005) Dec INTEGER003
Endif
OpText INTEGER003
Print ReadLine(PPEPath() + "prompts.cnf", 78)
STRING004 = ScrText(STRING009, STRING010, GetX() - STRING009, 0)
KbdStuff STRING004
Return
:LABEL009
STRING002 = ReadLine(PPEPath() + "prompts.cnf", INTEGER001)
STRING003 = ReadLine(PPEPath() + "prompts.cnf", INTEGER001 + 1)
STRING009 = ReadLine(PPEPath() + "prompts.cnf", INTEGER001 + 2)
Tokenize STRING009
STRING009 = GetToken()
STRING010 = GetToken()
Return
:LABEL010
STRING002 = ReadLine(PPEPath() + "prompts.cnf", INTEGER001)
STRING003 = ReadLine(PPEPath() + "prompts.cnf", INTEGER001 + 1)
Return
:LABEL011
STRING002 = ReadLine(PPEPath() + "prompts.cnf", INTEGER001)
Return
:LABEL012
Select Case (INTEGER002)
Case 0
DispStr STRING003
AnsiPos STRING007, STRING008
Print STRING002
Print Space(INTEGER007 - GetX())
AnsiPos STRING009, STRING010
Case 2
InputStr "_", STRING004, 7, INTEGER001, Mask_Pwd(), 0
If (STRING004 == "") STRING004 = Chr(13)
KbdStuff STRING004
End Select
Return
:LABEL013
If (INTEGER002 == 0) Then
DispStr STRING003
Else
AnsiPos STRING007, STRING008
Print STRING002
Print Space(INTEGER007 - GetX())
AnsiPos STRING009, STRING010
If ((INTEGER002 == 2) && (INTEGER001 == -1)) Gosub LABEL001
If ((INTEGER002 == 2) && (INTEGER001 == -2)) Gosub LABEL005
Endif
Return
:LABEL014
If (INTEGER002 == 0) Then
Print StripAtx(STRING002)
Else
AnsiPos STRING007, STRING008
Print STRING002
INTEGER001 = INTEGER007 - GetX()
Print Space(INTEGER001)
Backup INTEGER001
Delay INTEGER006
Endif
Return
:LABEL015
If (INTEGER002 == 0) Then
DispStr STRING003
Else
AnsiPos STRING007, STRING008
Print STRING002
INTEGER001 = 75 - GetX()
Print Space(INTEGER001)
Backup INTEGER001
Delay INTEGER006
Endif
Return
:LABEL016
Select Case (INTEGER002)
Case 0
DispStr STRING003
AnsiPos STRING007, STRING008
Print STRING002
Print Space(INTEGER007 - GetX())
AnsiPos STRING009, STRING010
Print Space(16)
Backup 16
Case 2
Color 7
:LABEL017
If (BOOLEAN001) Goto LABEL019
STRING006 = Inkey()
If ((InStr(Mask_Pwd(), STRING006) > 0) && (Len(STRING004) < 12)) Then
MPrint "."
SPrint STRING006
STRING004 = STRING004 + STRING006
Goto LABEL018
Endif
If ((STRING006 == Chr(8)) && (Len(STRING004) > 0)) Then
MPrint STRING005
SPrint STRING005
STRING004 = Left(STRING004, Len(STRING004) - 1)
Goto LABEL018
Endif
If (STRING006 == Chr(13)) Then
BOOLEAN001 = 1
Endif
:LABEL018
Goto LABEL017
:LABEL019
If (STRING004 == "") STRING004 = Chr(13)
KbdStuff Upper(STRING004)
End Select
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 4 Cls
; 2 Wait
; 6 Color
; 196 Goto
; 137 Let
; 52 Print
; 2 PrintLn
; 116 If
; 4 DispFile
; 2 StartDisp
; 1 GetUser
; 11 Log
; 2 InputStr
; 96 Gosub
; 10 Return
; 4 Delay
; 7 Inc
; 5 Dec
; 3 Newlines
; 2 Tokenize
; 8 KbdStuff
; 1 OpText
; 8 DispStr
; 28 AnsiPos
; 6 Backup
; 2 SPrint
; 2 MPrint
;
;
; ■ Functions used :
;
; 8 -
; 56 +
; 20 -
; 111 ==
; 5 <>
; 7 <
; 1 <=
; 7 >
; 2 >=
; 108 !
; 14 &&
; 9 ||
; 5 Len(
; 1 Upper()
; 4 Mid()
; 14 Left()
; 4 Right()
; 15 Space()
; 14 Chr()
; 4 InStr()
; 1 RTrim()
; 3 Date()
; 2 NoChar()
; 1 YesChar()
; 15 StripAtx()
; 3 Inkey()
; 2 Mask_Pwd()
; 3 Mask_Num()
; 23 PPEPath()
; 19 ReadLine()
; 5 GetToken()
; 1 AnsiOn()
; 15 GetX()
; 4 GetY()
; 1 TokCount()
; 8 ScrText()
; 2 Mixed()
;
;------------------------------------------------------------------------------
;
; Analysis flags : M
;
; M - Send text to modem only ■ 4
; Some informations are sent only to the modem, not to the local
; screen, this is a well known way to make stealth backdoors, Check!
; ■ Search for : SENDMODEM, MPRINT, MPRINTLN
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 1 For/Next
; 0 While/EndWhile
; 41 If/Then or If/Then/Else
; 5 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------